package com.future.heatwave.network

import com.future.heatwave.db.entity.AchieveEntity
import com.future.heatwave.db.entity.AdRecord
import com.future.heatwave.db.entity.Appraise
import com.future.heatwave.db.entity.ConfAchieve
import com.future.heatwave.db.entity.ConfigA
import com.future.heatwave.db.entity.DotServer
import com.future.heatwave.db.entity.FreeSectionsEntity
import com.future.heatwave.db.entity.GainEntity
import com.future.heatwave.db.entity.ObtainListEntity
import com.future.heatwave.db.entity.ParticEntity
import com.future.heatwave.db.entity.Register
import com.future.heatwave.db.entity.SectionsEntity
import com.future.heatwave.db.entity.SignConfig
import com.future.heatwave.db.entity.SignRecord
import com.future.heatwave.db.entity.SkimReflection
import com.future.heatwave.db.entity.UnAutoCoins
import io.reactivex.rxjava3.core.Observable
import retrofit2.http.*

interface ApiService {
    @GET(ApiUrl.appraise)
    fun getAppraise(): Observable<Appraise>
    @GET(ApiUrl.configActivity)
    fun getConfigActivity(): Observable<ConfigA>
    @GET(ApiUrl.signRecord)
    fun getSignRecord(): Observable<SignRecord>
    @GET(ApiUrl.unAutoCoinsMsgs)
    fun getUnAutoCoinsMsgs(): Observable<UnAutoCoins>
    @GET(ApiUrl.signConfig)
    fun getSignConfig(@QueryMap body: HashMap<String, String>): Observable<SignConfig>
    @GET(ApiUrl.register)
    fun getRegister(@QueryMap body: HashMap<String, String>): Observable<Register>





    @GET(ApiUrl.classifyList)
    fun getAchieve(): Observable<AchieveEntity>

    @GET(ApiUrl.bannerList)
    fun getGain(): Observable<GainEntity>


    @GET(ApiUrl.playletList)
    fun getObtainList(): Observable<ObtainListEntity>

    @GET(ApiUrl.playletInfo)
    fun getPartic(@QueryMap body: HashMap<String, String>): Observable<ParticEntity>

    @GET(ApiUrl.episodeList)
    fun getSections(@QueryMap body: HashMap<String, String>): Observable<SectionsEntity>
    @GET(ApiUrl.freeList)
    fun getFreeSectionsInfo(@QueryMap body: HashMap<String, String>): Observable<FreeSectionsEntity>

    @POST(ApiUrl.adsRecord)
    fun postAdRecord(@QueryMap body: HashMap<String, String>): Observable<AdRecord>
    @POST(ApiUrl.browseRecord)
    fun getSkim(@QueryMap body: HashMap<String, String>): Observable<SkimReflection>

    @GET(ApiUrl.adsConfig)
    fun adsConfig(): Observable<ConfAchieve>

    @POST(ApiUrl.dotServer)
    fun dotServer(@QueryMap body: HashMap<String, String>): Observable<DotServer>

}